package com.servlet.request;

import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;

/**
 * @author wzm
 * @create 2023-11-04 16:08
 * project_name:web2310
 * @Description 处理get请求和post请求
 */
@WebServlet("/req1")
public class RequestServlet1 implements Servlet {
    @Override
    public void init(ServletConfig servletConfig) throws ServletException {

    }

    @Override
    public ServletConfig getServletConfig() {
        return null;
    }

    /**
     * 专门用来处理请求和响应的方法
     * @param servletRequest  请求对象参数
     * @param servletResponse 响应对象参数
     * @throws ServletException
     * @throws IOException
     */
    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        System.out.println("Service方法被访问了");
        //get请求和post请求的方式和数据存放位置不同需要有不同的方式
        //将父类转为子类才有子类特有的方法
        HttpServletRequest request = (HttpServletRequest) servletRequest;
        //获取请求的方式
        /*
         * post:有且仅有form标签的method=post 是post请求
         * 别的都是Get请求：
         *    浏览器直接访问
         *    link href属性
         *    img src
         *    超连接等
         * */
        String method = request.getMethod();

        if ("GET".equals(method)) {
            doGet();
        } else if ("POST".equals(method)) {
            doPost();
        }
    }

    //做get请求的处理
    public void doGet(){
        System.out.println("执行了get请求的代码");
        System.out.println("执行了get请求的代码");
        System.out.println("执行了get请求的代码");
        System.out.println("执行了get请求的代码");
        System.out.println("执行了get请求的代码");
    }

    //做post请求的处理
    public void doPost(){
        System.out.println("执行了post请求的代码");
        System.out.println("执行了post请求的代码");
        System.out.println("执行了post请求的代码");
        System.out.println("执行了post请求的代码");
    }

    @Override
    public String getServletInfo() {
        return null;
    }

    @Override
    public void destroy() {

    }
}
